SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q20]  
/*-------------------------------------------------------------------*/                      
/*----- Empresa           : OFISIS S.A.                          ----*/                      
/*----- Cliente           : OFISIS S.A.                          ----*/                      
/*----- Sistema           : Contabilidad                         ----*/                      
/*----- Modulo            : Empresa                              ----*/                      
/*----- Programa          : Registro de Compras                  ----*/                      
/*----- Nombre            : SP_TXMVTO_CNTB_Q20                   ----*/                      
/*----- Script            : TXMVTO_CNTB                          ----*/                      
/*----- Desarrollado por  : PDGV                                 ----*/                      
/*----- Fecha  Creaci?n   : 22/08/2006                           ----*/                      
/*----- Base de Datos     : MS SQL Server                        ----*/                      
/*----- Version BD        : 8.0                                  ----*/                      
/*-------------------------------------------------------------------*/                       
/*------ modif            : PDGV                                 ----*/
/*------ fecha modif      : 12/04/2007                           ----*/
/*------ detalle modif    : trabaja con parametro para ver si empresa retiene 
o no a sus proveedores   */
/*-------------------------------------------------------------------*/               
/*----- Drop proc SP_TXMVTO_CNTB_Q20                             ----*/  
/*----- Grant all on SP_TXMVTO_CNTB_Q20 to PUBLIC                ----*/                      
/*-----   
EXEC SP_TXMVTO_CNTB_Q20 '01', ' ',1,2006, 8, 8, 'ANA','FEC','OFI'     
  ----*/  
/*-------------------------------------------------------------------*/                      
@ISCO_EMPR        TD_VC_002,                      
@ISCA_WHER_LOCA   TD_VC_255,                      
@INNU_CNTB_EMPR   TD_IN_001_CONT,                      
@INNU_ANNO        TD_IN_004_ANNO,                      
@INNU_MESE_INIC   TD_IN_002_MESE,                      
@INNU_MESE_FINA   TD_IN_002_MESE,                      
@ISTI_REPO        TD_VC_003,                      
@ISTI_ORDE_REPO   TD_VC_003,                      
@ISTI_INFO        TD_VC_003                      
                     
/*                      
 IM_INAF_CNTB   Numeric(16,4)  NULL,                      
 IM_AFEC_CNTB   Numeric(16,4)  NULL,                      
 IM_IIGV_CNTB   Numeric(16,4)  NULL,                      
 IM_FONA_CNTB   Numeric(16,4)  NULL,                      
 IM_RENT_CNTB   Numeric(16,4)  NULL,                      
 IM_TOTA_CNTB   Numeric(16,4)  NULL,                      
 FA_CAMB        Numeric(9,4)   NULL,                      
 IM_BASE_NGRA   Numeric(16,4)  NULL,                      
 IM_BASE_SDCF   Numeric(16,4)  NULL,                      
 IM_IIGV_IISC   Numeric(16,4)  NULL,                      
 IM_IIGV_NGRA   Numeric(16,4)  NULL,                      
 IM_IIGV_SDCF   Numeric(16,4)  NULL, */                      
                      
As  
Create Table #TWMVTO_CNTB_Q20_1                      
(CO_EMPR  varchar(5) NULL, --para el crosstab                  
 FE_DOCU        datetime       NULL,                      
 TI_DOCU_SUNA   char(02)       NULL,                      
 TI_DOCU_CNTB   char(03)       NULL,                      
 NO_DOCU        varchar(50)    NULL,                      
 NU_DOCU        char(20)       NULL,                      
 CO_UNID_CNTB   char(03)       NULL,                      
 CO_OPRC        char(03)       NULL,                      
 NU_ASTO        char(10)       NULL,                      
 CO_PROV    varchar(20)    NULL,                      
 NO_CORT_PROV   char(50)       NULL,                      
 NU_RUCS_PROV   char(11)       NULL,                      
 CO_MONE        char(03)       NULL,                      
 FA_CAMB        Numeric(9,4)   NULL,                      
 IM_INAF_ORIG   Numeric(16,4)  NULL,                      
 IM_AFEC_ORIG   Numeric(16,4)  NULL,                      
 IM_IIGV_ORIG   Numeric(16,4)  NULL,                      
 IM_FONA_ORIG   Numeric(16,4)  NULL,                
 IM_RENT_ORIG   Numeric(16,4)  NULL,                      
 IM_TOTA_ORIG   Numeric(16,4)  NULL,                      
                      
 IM_AFEC_CNTB   Numeric(16,4)  NULL,                      
 IM_BASE_NGRA   Numeric(16,4)  NULL,                      
 IM_BASE_SDCF   Numeric(16,4)  NULL,                      
 IM_INAF_CNTB   Numeric(16,4)  NULL,                      
 IM_BASE_RXHH   Numeric(16,4)  NULL,                      
                      
 IM_IIGV_CNTB   Numeric(16,4)  NULL,                      
 IM_IIGV_NGRA   Numeric(16,4)  NULL,                      
 IM_IIGV_SDCF   Numeric(16,4)  NULL,                 
 IM_RENT_CNTB   Numeric(16,4)  NULL,                      
 IM_IESS_CNTB   Numeric(16,4)  NULL,                      
 IM_TOTA_CNTB   Numeric(16,4)  NULL,                      
                      
 IM_FONA_CNTB   Numeric(16,4)  NULL,                      
 IM_IIGV_IISC   Numeric(16,4)  NULL,                                                             
 ST_RETE_AUXI   Char(01)       NULL,                      
 ST_RETE_DOCU   Char(01)       NULL,                      
 ST_RETE_BCON   Char(01)       NULL,                      
 ST_STAT        Char(1)        NULL,                      
 CO_AUXI_EMPR   VarChar(20)    NULL,                      
 ST_NDEB        Char(01)       NULL,                      
 NU_DOCU_REFE   VarChar(20)    NULL,                      
 FE_DOCU_REFE   datetime       NULL,                     
 ST_DETR        Varchar(2)     NULL,                  
 PO_IMPT        Numeric(9,4)     NULL, --para el tipo de impuesto 18,19..                  
 FE_0001        DateTime NULL               
 )                      
                      
Declare                       
@VSNU_ASTO_BASE   char(18),                      
@VSCO_MONE_BASE   TD_VC_003,             
@VSCO_MONE_BAS1   TD_VC_003,                      
@VNIM_TOTA_BASX   TD_NU_016_004,                      
@VNIM_TOTA_BASY   TD_NU_016_004,                      
@VDFE_DOCU   TD_DT_001,                      
@VSTI_DOCU_CNTB   TD_VC_003,                      
@VSNU_DOCU   TD_VC_020,                      
@VSCO_UNID   TD_VC_003,                      
@VSCO_OPRC   TD_VC_003,                      
@VSNU_ASTO   TD_VC_010,                      
@VSCO_PROV   TD_VC_020,                      
@VSNO_CORT_PROV   TD_VC_050,                      
@VSNU_RUCS_PROV   TD_VC_020,                      
@VSCO_MONE   TD_VC_003,                      
@VNIM_INAF_ORIX   TD_NU_016_004,                      
@VNIM_AFEC_ORIX   TD_NU_016_004,                      
@VNIM_IIGV_ORIX   TD_NU_016_004,                      
@VNIM_FONA_ORIX   TD_NU_016_004,                      
@VNIM_RENT_ORIX   TD_NU_016_004,                      
@VNIM_TOTA_ORIX   TD_NU_016_004,                      
@VNIM_INAF_CNTX   TD_NU_016_004,                      
@VNIM_AFEC_CNTX   TD_NU_016_004,                      
@VNIM_IIGV_CNTX   TD_NU_016_004,                      
@VNIM_FONA_CNTX   TD_NU_016_004,                      
@VNIM_RENT_CNTX   TD_NU_016_004,                      
@VNIM_TOTA_CNTX   TD_NU_016_004,                      
@VNFA_CAMB   TD_NU_009_004,                      
@VNIM_IIGV_ORIG   TD_NU_016_004,                      
@VNIM_FONA_ORIG   TD_NU_016_004,                      
@VNIM_RENT_ORIG   TD_NU_016_004,                      
@VNIM_TOTA_ORIG   TD_NU_016_004,                      
@VNIM_IIGV_CNTB   TD_NU_016_004,                      
@VNIM_FONA_CNTB   TD_NU_016_004,                      
@VNIM_RENT_CNTB   TD_NU_016_004,                      
@VNIM_TOTA_CNTB   TD_NU_016_004,                      
                      
@CNPO_IGV1        TD_NU_009_004,                      
@CNPO_IGV2   TD_NU_009_004,                      
@CNPO_REN1   TD_NU_009_004,    
@CNPO_REN2 TD_NU_009_004,                      
                      
@VSCO_OPR1   TD_VC_003,                      
@VSCO_OPR2   TD_VC_003,                      
@VSID_COMP    TD_VC_003,                      
@VSID_IIGV    TD_VC_003,                      
@VSID_FONA    TD_VC_003,                  
@VSID_RENT    TD_VC_003,                      
@VSID_CUAR    TD_VC_003,                      
@VSTI_DOCU_AUXI   char(06),                      
@VSCO_SUNA        TD_VC_002,                      
@CSID_CNTA    TD_VC_003,                      
@CDFE_DOCU   TD_DT_001,                      
@CSTI_DOCU_CNTB   TD_VC_003,                      
@CSNU_DOCU   TD_VC_020,        @CSCO_UNID   TD_VC_003,                      
@CSCO_OPRC   TD_VC_003,                      
--@CSNU_ASTO   TD_VC_010,                      
@CSCO_AUXI   TD_VC_020,                      
@CSCN_CNTB_EMPR   TD_VC_010,                      
@CSTI_OPER_CNTB   TD_VC_003,                      
@CSCO_MONE   TD_VC_003,                      
@CNFA_CAMB   TD_NU_009_004,                      
@CNIM_MVTO_ORIG   TD_NU_016_004,                      
@CNIM_MVTO_CNTB   TD_NU_016_004,                      
@CSNU_DOCU_REFE   TD_VC_020,                      
@CDFE_DOCU_REFE TD_DT_001,                      
                      
@VSNO_DOCU        TD_VC_050,                      
@CSTI_AUXI_EMPR   TD_VC_001,                      
@VSST_RETE_DOCU   TD_VC_001,                      
@VSST_RETE_AUXI   TD_VC_001,                      
@VNIM_MAXI_NRET   TD_NU_016_004,                      
@VSST_STAT        TD_VC_001,                      
@VSST_BCON_AUXI   TD_VC_001,                      
@VSST_DETR        TD_VC_001,                      
                      
                      
@VSNU_DOCU_REFE   TD_VC_020,                      
@VDFE_DOCU_REFE   TD_DT_001,                      
                      
@VNIM_MVTO_CNTB   TD_NU_016_004,                      
@CSNU_ASTO   TD_VC_010,                      
@CSCO_OPRC_CNTB   TD_VC_003,                      
@VNIM_TOTA   TD_NU_016_004,                      
@CSCO_UNID_CNTB   TD_VC_003,                      
----------------------------------------                      
@VSNU_CNTB_EMPR  TD_VC_001,                      
@VSNU_ANNO       TD_VC_004,                      
@VSNU_MESE_INIC  TD_VC_002,                      
@VSNU_MESE_FINA  TD_VC_002,                      
@VSCO_SUNA_NOCR  TD_VC_002,                      
@VSCO_SUNA_0001  TD_VC_002,                      
@VNNU_MESE       TD_IN_002_MESE,                      
@CNNU_MESE       TD_IN_002_MESE,                      
                      
@VNPO_IGV1        TD_NU_009_004,                      
@VNPO_IGV1_ANNO   TD_NU_009_004,                      
@VNPO_IGV2_ANNO   TD_NU_009_004,                      
@VNPO_REN1        TD_NU_009_004,                      
@VNPO_REN2        TD_NU_009_004,                      
@CSTI_DOCU_REFE   TD_VC_003,                    
@VSTI_DOCU   TD_VC_003,                    
@VDFE_DOCU_0001  TD_DT_001,                    
@VSNU_DOCU_0001  TD_VC_020,                    
@VNPO_IGV2   TD_NU_009_004,                  
                  
@VNPO_IGV1_0001        TD_NU_009_004, --segun el tipo de igv               
@CSCO_EMPR   TD_VC_002,  -- para la empresa                  
                
@VNID_IIES TD_IN_001, -- ID IES                
@VNID_IIGV TD_IN_001, -- ID IGV                
@VNID_COMP TD_IN_001, -- ID COMPRAS                
@VNID_RENT TD_IN_001, -- ID IMP. RENTA                
@VNID_NDOM TD_IN_001, -- ID IMP. RENTA NO DOMICILIADO  
@VNID_GAST TD_IN_001, -- ID GASTO NO GRAVABLE  
@VNIM_IIES_ORIG TD_NU_016_004,  -- IMPORTE IES                
@VNIM_IIES_CNTX TD_NU_016_004,  -- IMPORTE IES                
@VNIM_TOTA_ORIG_AUXI TD_NU_016_004,   -- IMPORTE IES                
@VNIM_TOTA_CNTB_AUXI TD_NU_016_004,   -- IMPORTE IES                
@CDFE_ASTO_CNTB TD_DT_001,  
@VDFE_ASTO_CNTB TD_DT_001,           
@CSTI_CAMB TD_VC_003,               
@VSTI_CAMB_BASE TD_VC_003,  --- ES DE LA CTA '42X'              
@VNIM_0001 TD_NU_016_004,             
@VSCO_EMPR_0001 TD_VC_002,             
            
/*-----*/              
@VNIM_TOTA_CONT TD_NU_016_004,            
@VNIM_IIGV_CONT TD_NU_016_004,            
@VNIM_CONT_BASX TD_NU_016_004,                           
@VNIM_CONT_BASY TD_NU_016_004,      
@VNIM_AFEC_CONX TD_NU_016_004,            
@VNIM_INAF_CONX TD_NU_016_004,     
@VNIM_FONA_CONT TD_NU_016_004,             
@VNIM_RENT_CONT TD_NU_016_004,          
@VNIM_IIES_CONT TD_NU_016_004,            
@VNIM_TOTA_CONT_AUXI TD_NU_016_004,         
@VNIM_BASE_RXHH TD_NU_016_004,         
  
@VNIM_RENO_ORIG TD_NU_016_004,         
@VNIM_RENO_CONT TD_NU_016_004,         
@VNIM_RENO_ORIX TD_NU_016_004,         
@VNIM_RENO_CNTX TD_NU_016_004,         
@VNIM_BASE_NDOM TD_NU_016_004,    
@VNIM_GAST_ORIG TD_NU_016_004,         
@VNIM_GAST_CONT TD_NU_016_004,        
@CSST_CNTA_CAMB TD_VC_003,  
@VSID_RENT_NDOM TD_VC_003,  
@VSID_GAST_NGRA TD_VC_003,  
@VSCO_SUNA_VARI TD_VC_002,  
@VDFE_0001         TD_DT_001,  
@VSCO_SUNA_LIQU    TD_VC_002,  
@VSCO_SUNA_POLI    TD_VC_002,  
@VSCO_SUNA_SERV    TD_VC_002,  
@VDFE_PAGO         TD_DT_001,  
@CDFE_DOCU_VENC    TD_DT_001,  
@VSTI_PERS_SUNA    TD_VC_003  
                       
Select @VNIM_TOTA_CONT = 0.00            
Select @VNIM_IIGV_CONT = 0.00            
Select @VNIM_AFEC_CONX = 0.00            
Select @VNIM_INAF_CONX = 0.00            
Select @VNIM_FONA_CONT = 0.00            
Select @VNIM_RENT_CONT = 0.00            
Select @VNIM_IIES_CONT = 0.00            
Select @VNIM_TOTA_CONT_AUXI = 0.00            
Select @VNIM_BASE_RXHH = 0.00        
Select @VNIM_BASE_NDOM = 0.00        
                      
/*----- Inicializando las variables -----*/                      
Select @VNIM_IIGV_ORIG = 0.00   Select @VNIM_FONA_ORIG = 0.00                      
Select @VNIM_RENT_ORIG = 0.00   Select @VNIM_TOTA_ORIG = 0.00                      
Select @VDFE_DOCU      = Null   Select @VSTI_DOCU_CNTB = Null                      
Select @VSNU_ASTO      = Null   Select @VSCO_PROV      = Null                      
Select @VSNO_CORT_PROV = Null   Select @VSNU_RUCS_PROV = Null                      
Select @VSCO_MONE      = Null   Select @VNIM_AFEC_ORIX = 0.00                      
Select @VNIM_INAF_ORIX = 0.00   Select @VNIM_IIGV_ORIX = 0.00                      
Select @VNIM_FONA_ORIX = 0.00   Select @VNIM_RENT_ORIX = 0.00                      
Select @VNIM_TOTA_ORIX = 0.00   Select @VNIM_AFEC_CNTX = 0.00                      
Select @VNIM_INAF_CNTX = 0.00   Select @VNIM_IIGV_CNTX = 0.00                      
Select @VNIM_FONA_CNTX = 0.00   Select @VNIM_RENT_CNTX = 0.00                    
Select @VNIM_TOTA_ORIX = 0.00   Select @VNFA_CAMB      = 0.00                      
Select @VNIM_MAXI_NRET = 0.00   
Select @VDFE_DOCU_REFE = Null   Select @VSNU_DOCU_REFE = Null                     
Select @VSCO_SUNA_NOCR = Null   Select @VNPO_IGV1_0001 = 0.00                
Select @VNIM_IIES_ORIG = 0.00              
Select @VNIM_IIES_CNTX = 0.00               
Select @VSTI_CAMB_BASE = NULL                
Select @VDFE_ASTO_CNTB = NULL                
Select @VSID_RENT_NDOM = ''  
Select @VSID_GAST_NGRA = ''  
Select @VNIM_RENO_ORIG = 0  
Select @VNIM_RENO_CONT = 0  
Select @VNIM_RENO_ORIX = 0  
Select @VNIM_RENO_CNTX = 0  
Select @VNIM_GAST_CONT = 0  
Select @VNIM_GAST_ORIG = 0  
Select @VDFE_0001 = NULL    
Select @VSTI_PERS_SUNA = NULL  
Select @VNIM_TOTA_ORIG_AUXI = 0

--Select @VSST_STAT ='S'
Select @VSST_STAT ='N'
Select @VSST_STAT = IsNull(ST_RETE_IGV1,'N')
From TMPARA_CONT 
Where CO_EMPR = @ISCO_EMPR                      
                
/*-- Obteniendo datos de Nro. de Contabilidad  -----*/                      
Select @VSCO_MONE_BAS1 = CO_MONE,                      
       @VSID_COMP      = ID_COMP,              
       @VSID_IIGV      = ID_IMPT_VENT,                       
       @VSID_FONA    = ID_FONA,                       
--       @VSID_RENT      = ID_IMPT_RENT,                 
       @VSID_RENT      = ID_CUAR,  
--       @VSID_CUAR      = ID_CUAR                   
@VSID_RENT_NDOM = IsNull(ID_RENT_NDOM,''),  
@VSID_GAST_NGRA = IsNull(ID_GAST_NGRA,'')  
From  TTCNTB_EMPR                      
Where CO_EMPR = @ISCO_EMPR                       
And   NU_CNTB_EMPR = @INNU_CNTB_EMPR                
                     
Select @VNIM_MAXI_NRET = IM_MAXI_NRET,                     
@VSCO_SUNA_NOCR = CO_SUNA_NOCR,  
@VSCO_SUNA_LIQU = IsNull(Rtrim(Ltrim(CO_SUNA_LIQU)),''),  
@VSCO_SUNA_POLI = IsNull(Rtrim(Ltrim(CO_SUNA_POLI)),''),  
@VSCO_SUNA_SERV = IsNull(Rtrim(Ltrim(CO_SUNA_SERV)),'')                    
From TMPARA_CONT                      
Where CO_EMPR = @ISCO_EMPR                      
                      
Select @CNPO_IGV1 = 0.00  Select @CNPO_IGV2 = 0.00                      
Select @CNPO_REN1 = 0.00  Select @CNPO_REN2 = 0.00                      
                      
/*----- Cursor para el reporte de Registro de Compras -----*/                      
Select @VSNU_CNTB_EMPR = Convert(Varchar(1),@INNU_CNTB_EMPR)                      
Select @VSNU_ANNO = Convert(Varchar(4),@INNU_ANNO )                 
Select @VSNU_MESE_INIC = Convert(Varchar(2),@INNU_MESE_INIC )                      
Select @VSNU_MESE_FINA = Convert(Varchar(2),@INNU_MESE_FINA )                      
                    
                    
-- OBTENGO EL IGV ANTES DE DEFINIR EL CURSOR                    
                    
SELECT @VNPO_IGV1_ANNO = PO_IMPT_VEN1,                    
       @VNPO_IGV2_ANNO = PO_IMPT_VEN2,                     
       @VNPO_REN1 = PO_IMPT_REN1,                    
       @VNPO_REN2 = PO_IMPT_REN2                    
From  TTPORC_IMPT                    
Where CO_EMPR = @ISCO_EMPR                    
And   NU_ANNO = @INNU_ANNO           
And   NU_MESE = @INNU_MESE_FINA                    
                    
If @VNPO_IGV1_ANNO IS Null                    
 Select @VNPO_IGV1_ANNO = 0.00                    
If @VNPO_IGV2_ANNO IS Null                    
 Select @VNPO_IGV2_ANNO = 0.00                    
If @VNPO_REN1 IS Null                    
 Select @VNPO_REN1 = 0.00                    
If @VNPO_REN2 IS Null                    
 Select @VNPO_REN2 = 0.00                    
                    
                
Select @VNID_IIES = 0                  
Select @VNID_RENT = 0                
Select @VNID_NDOM = 0                
Select @VNID_GAST = 0                
  
Exec('Declare CU_TXMVTO_CNTB_Q20_1 Cursor For  
Select  TXMVTO_CNTB.FE_DOCU, TXMVTO_CNTB.TI_DOCU, TXMVTO_CNTB.NU_DOCU, TXMVTO_CNTB.CO_UNID_CNTB,                       
TXMVTO_CNTB.CO_OPRC_CNTB, TXMVTO_CNTB.NU_MESE, TXMVTO_CNTB.NU_ASTO, TXMVTO_CNTB.TI_AUXI_EMPR,                       
TXMVTO_CNTB.CO_AUXI_EMPR, TXMVTO_CNTB.CO_CNTA_EMPR, TXMVTO_CNTB.TI_OPER, TXMVTO_CNTB.CO_MONE,                        
TXMVTO_CNTB.FA_CAMB, TXMVTO_CNTB.IM_MVTO_ORIG, TXMVTO_CNTB.IM_MVTO_CNTB, TTIDEN_CNTA.ID_CNTA,         
IsNull(TTPORC_IMPT.PO_IMPT_REN1,0), IsNull(TTPORC_IMPT.PO_IMPT_REN2,0),                       
IsNull(TTPORC_IMPT.PO_IMPT_VEN1,0), IsNull(TTPORC_IMPT.PO_IMPT_VEN2,0),   
TXMVTO_CNTB.TI_DOCU_DETR, TXMVTO_CNTB.NU_DOCU_DETR, TXMVTO_CNTB.FE_DOCU_DETR,   
TXMVTO_CNTB.CO_EMPR,               
TXMVTO_CNTB.FE_ASTO_CNTB, TXMVTO_CNTB.TI_CAMB, TMPLAN_ANNO.ST_CNTA_CAMB,  
TXMVTO_CNTB.FE_DOCU_VENC  
From TXMVTO_CNTB  
Left Outer Join TTPORC_IMPT   
On TTPORC_IMPT.CO_EMPR = TXMVTO_CNTB.CO_EMPR                       
And TTPORC_IMPT.NU_ANNO = TXMVTO_CNTB.NU_ANNO                       
And TTPORC_IMPT.NU_MESE = TXMVTO_CNTB.NU_MESE, TTIDEN_CNTA, TMPLAN_ANNO                       
Where TXMVTO_CNTB.CO_EMPR = "' + @ISCO_EMPR + '"  
And TXMVTO_CNTB.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '  
And TXMVTO_CNTB.CO_OPRC_CNTB In (                      
     Select T1.CO_OPRC_CNTB From TTIDEN_OPER T1   
     Where T1.CO_EMPR = TXMVTO_CNTB.CO_EMPR   
     And T1.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
     And T1.ID_OPRC   = "' + @VSID_COMP + '" )                       
 And TXMVTO_CNTB.NU_ANNO  = ' + @VSNU_ANNO + '                      
 And TXMVTO_CNTB.NU_MESE >= ' + @VSNU_MESE_INIC + '                      
 And TXMVTO_CNTB.NU_MESE <= ' + @VSNU_MESE_FINA + '                      
 And ((TXMVTO_CNTB.CO_CNTA_EMPR In (                       
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2   
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR   
     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
     And T2.ID_CNTA = "' + @VSID_COMP + '" ) ' + @ISCA_WHER_LOCA + ' )                  
 Or (TXMVTO_CNTB.CO_CNTA_EMPR In (   
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2   
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR   
    And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
     And T2.ID_CNTA In ("' + @VSID_IIGV + '", "' + @VSID_RENT + '", "' + @VSID_FONA + '", "' + @VSID_RENT_NDOM + '", "' + @VSID_GAST_NGRA + '"  ) )  
))   
 and TXMVTO_CNTB.SI_MVTO_CNTB = "APR"   
 and TTIDEN_CNTA.CO_EMPR   = TXMVTO_CNTB.CO_EMPR   
 and TTIDEN_CNTA.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR   
 and TTIDEN_CNTA.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
 And TMPLAN_ANNO.CO_EMPR = TXMVTO_CNTB.CO_EMPR  
 And TMPLAN_ANNO.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR   
 Union All   
 Select Null, Null, Null, "99", "999", 99, "9999999999", Null, Null,   
 Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null,NULL   
 Order By 4,5,6,7 ASC, 16 Asc, 10 DESC ,8,9 ASC ' )     
                      
Open CU_TXMVTO_CNTB_Q20_1                      
Fetch CU_TXMVTO_CNTB_Q20_1 into                       
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                       
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                       
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                      
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2,  @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,                  
    @CSCO_EMPR, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,@CDFE_DOCU_VENC                      
                      
Select @VSNU_ASTO_BASE = Null                      
Select @VSCO_MONE_BASE = Null                      
                      
While @@Fetch_status = 0                      
Begin                      
                   
 /*----- Actualiza Temporal -----*/                      
 If @VSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                       
    Substring( Convert(Varchar(2),100 + @CNNU_MESE),2,2) + Rtrim(@CSNU_ASTO)                       
    And @VSCO_MONE_BASE IS NOT Null                      
 Begin                      
  Select @VNIM_TOTA_BASX = Round(@VNIM_TOTA_ORIG - @VNIM_IIGV_ORIG,2)           
  Select @VNIM_TOTA_BASY = Round(@VNIM_IIGV_ORIG / ((@VNPO_IGV1 + @VNPO_IGV2) / 100), 2)           
--** LEE DATOS CONTABLES             
  Select @VNIM_CONT_BASX = Round(@VNIM_TOTA_CONT - @VNIM_IIGV_CONT,2)                            
  Select @VNIM_CONT_BASY = Round(@VNIM_IIGV_CONT / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)                            
--** LEE DATOS CONTABLES             
                     
  If Abs(Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)) > 0.50                      
  Begin                      
    Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASY,2)                      
    Select @VNIM_INAF_ORIX = Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)        
--** LEE DE DATOS CONTABLES            
    Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASY,2)                            
    Select @VNIM_INAF_CONX = Round(@VNIM_CONT_BASX - @VNIM_CONT_BASY,2)                            
--** LEE DE DATOS CONTABLES            
  End                      
  Else                     
  Begin        
    Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASX,2)                      
    Select @VNIM_INAF_ORIX = 0.00                      
--** LEE DE DATOS CONTABLES            
    Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASX,2)                            
    Select @VNIM_INAF_CONX = 0.00                            
--** LEE DE DATOS CONTABLES            
  End                      
                      
  If @VSCO_MONE != @VSCO_MONE_BAS1                      
  Begin                    
    Select @VNIM_IIGV_ORIX = @VNIM_IIGV_ORIG                      
    Select @VNIM_FONA_ORIX = @VNIM_FONA_ORIG                      
    Select @VNIM_RENT_ORIX = @VNIM_RENT_ORIG                      
    Select @VNIM_RENO_ORIX = @VNIM_RENO_ORIG                      
    Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG + (@VNIM_FONA_ORIX + @VNIM_RENT_ORIX)                
              
    Select @VNIM_AFEC_CNTX = @VNIM_AFEC_CONX            
    Select @VNIM_INAF_CNTX = @VNIM_INAF_CONX            
    Select @VNIM_IIGV_CNTX = @VNIM_IIGV_CONT            
            
    Select @VNIM_FONA_CNTX = @VNIM_FONA_CONT            
    Select @VNIM_RENT_CNTX = @VNIM_RENT_CONT            
    Select @VNIM_RENO_CNTX = @VNIM_RENO_CONT            
    Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CONT + @VNIM_FONA_CONT + @VNIM_RENT_CONT                 
    Select @VNIM_IIES_CNTX = @VNIM_IIES_CONT            
    Select @VNIM_TOTA_CNTB_AUXI = @VNIM_TOTA_CONT_AUXI            
                
  End              
  Else                      
  Begin                      
    Select @VNIM_AFEC_CNTX = Round(@VNIM_AFEC_ORIX,2)                      
    Select @VNIM_INAF_CNTX = Round(@VNIM_INAF_ORIX,2)                      
    Select @VNIM_IIGV_CNTX = Round(@VNIM_IIGV_ORIG,2)                      
    Select @VNIM_FONA_CNTX = Round(@VNIM_FONA_ORIG,2)                      
    Select @VNIM_RENT_CNTX = Round(@VNIM_RENT_ORIG,2)                      
    Select @VNIM_RENO_CNTX = Round(@VNIM_RENO_ORIG,2)                      
    Select @VNIM_TOTA_CNTX = Round((@VNIM_TOTA_ORIG + (@VNIM_FONA_ORIX +@VNIM_RENT_ORIX)),2)                      
    Select @VNIM_AFEC_ORIX = 0.00  
    Select @VNIM_INAF_ORIX = 0.00  
    Select @VNIM_IIGV_ORIX = 0.00  
    Select @VNIM_FONA_ORIX = 0.00  
    Select @VNIM_RENT_ORIX = 0.00  
    Select @VNIM_RENO_ORIX = 0.00  
    Select @VNIM_TOTA_ORIX = 0.00  
    Select @VNFA_CAMB = Null  
                
    Select @VNIM_IIES_CNTX = Round(@VNIM_IIES_ORIG,2)                
    Select @VNIM_TOTA_CNTB_AUXI = Round(@VNIM_TOTA_ORIG_AUXI,2)                
                
  End                  
                
-- CASO IMPUESTO A LA RENTA 4TA CATEGORIA  
If @VNID_IIES = 1 Or @VNID_RENT = 1                 
  Begin                 
 Select @VNIM_AFEC_CNTX = @VNIM_TOTA_CNTB_AUXI + Abs(@VNIM_RENT_CNTX) + Abs(@VNIM_IIES_CNTX)                
-- RECIBOS POR HONORARIOS        
 Select @VNIM_BASE_RXHH = @VNIM_AFEC_CNTX        
 Select @VNIM_AFEC_CNTX = 0        
-- RECIBOS POR HONORARIOS        
 Select @VNIM_RENT_ORIG = Abs(@VNIM_RENT_ORIG)                
 Select @VNIM_RENT_CNTX = Abs(@VNIM_RENT_CNTX)  
 Select @VNIM_IIES_CNTX = Abs(@VNIM_IIES_CNTX)                
 Select @VNIM_IIES_ORIG = Abs(@VNIM_IIES_ORIG)                
 Select @VNIM_INAF_CNTX = 0                
 Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CNTB_AUXI                 
                
  If @VSCO_MONE != @VSCO_MONE_BAS1                 
  Begin                  
      Select @VNIM_AFEC_ORIX = 0--@VNIM_TOTA_ORIG_AUXI + Abs(@VNIM_RENT_ORIG) + Abs(@VNIM_IIES_ORIG)                
      Select @VNIM_INAF_ORIX = 0.00  
      Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG_AUXI                 
  End                
End                
  
  
-- CASO IMPUESTO RENTA NO DOMICILIADOS  
If @VNID_NDOM = 1 And @VSTI_PERS_SUNA = '03'--- CASO AUXILIAR ES NO DOMICILIADO  
  Begin                 
 Select @VNIM_AFEC_CNTX = @VNIM_TOTA_CNTB_AUXI + Abs(@VNIM_RENO_CNTX)  
 Select @VNIM_BASE_NDOM = @VNIM_AFEC_CNTX        
 Select @VNIM_AFEC_CNTX = 0        
 Select @VNIM_RENO_ORIG = 0--Abs(@VNIM_RENO_ORIG)                
 Select @VNIM_RENO_CNTX = Abs(@VNIM_RENO_CNTX)                
 Select @VNIM_INAF_CNTX = 0                
 Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CNTB_AUXI                 
                
  If @VSCO_MONE != @VSCO_MONE_BAS1                 
  Begin                  
      Select @VNIM_AFEC_ORIX = 0--@VNIM_TOTA_ORIG_AUXI + Abs(@VNIM_RENO_ORIG)   
      Select @VNIM_INAF_ORIX = 0.00  
      Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG_AUXI                 
  End                
End  -- FIN CASO IMPUESTO RENTA NO DOMICILIADOS    
  
-- CASO GASTOS NO GRAVADOS  
If @VNID_GAST = 1  
  Begin                 
 Select @VNIM_AFEC_CNTX = Round(@VNIM_IIGV_CONT / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)  
 Select @VNIM_INAF_CNTX = IsNull(@VNIM_GAST_CONT,0)  
 Select @VNIM_TOTA_CNTX = IsNull(@VNIM_AFEC_CNTX,0) + IsNull(@VNIM_INAF_CNTX,0) + IsNull(@VNIM_IIGV_CONT,0) ---@VNIM_TOTA_CNTB_AUXI                 
                
  If @VSCO_MONE != @VSCO_MONE_BAS1                 
  Begin   
      Select @VNIM_AFEC_ORIX = Round(@VNIM_IIGV_ORIG / ((@VNPO_IGV1 + @VNPO_IGV2) / 100), 2)  
      Select @VNIM_INAF_ORIX = @VNIM_GAST_ORIG  
      Select @VNIM_IIGV_ORIX = @VNIM_IIGV_ORIG  
      Select @VNIM_TOTA_ORIX = @VNIM_AFEC_ORIX +  @VNIM_INAF_ORIX  + @VNIM_IIGV_ORIX             
  End            
End  -- FIN CASO gastos no gravados  
                
If @VNID_COMP = 1 And @VNID_IIGV = 0 And @VNID_IIES = 0 And @VNID_RENT = 0 And @VNID_NDOM = 0 And @VNID_GAST = 0          
Begin         
 Select @VNIM_INAF_CNTX = @VNIM_AFEC_CNTX                
 Select @VNIM_AFEC_CNTX = 0                  
 Select @VNIM_INAF_CNTX = @VNIM_TOTA_CNTX                
End                
-- FIN SE AUMENTO                
                      
  /*-- OBTENGO ESTATUS DE RETENCION DEL DOCUMENTO --*/                      
  Select @VSCO_SUNA = CO_SUNA, @VSNO_DOCU = NO_DOCU, @VSST_RETE_DOCU = ST_RETE                      
  From TTDOCU_CNTB                      
  Where TI_DOCU = @VSTI_DOCU_CNTB                      
                       
  Select @VSTI_DOCU_AUXI = @VSTI_DOCU_CNTB                      
                  
---- CONVIERTO EL PORCENTAJE DEL CURSOR EN CARACTER ANTES DE INSERTAR A LA TEMPO --                  
                  
SELECT @VNPO_IGV1_0001 = ROUND(@VNPO_IGV1,2)                  
                      
/*-- INGRESO ESTATUS DE RETENCION DEL DOCUMENTO Y AUXILIAR --*/                      
              
   Insert Into #TWMVTO_CNTB_Q20_1 (                      
   CO_EMPR, FE_DOCU     , TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU     , NU_DOCU     , CO_UNID_CNTB,                      
   CO_OPRC     , NU_ASTO     , CO_PROV     , NO_CORT_PROV, NU_RUCS_PROV, CO_MONE     ,                      
   FA_CAMB     , IM_INAF_ORIG, IM_AFEC_ORIG, IM_IIGV_ORIG, IM_FONA_ORIG, IM_RENT_ORIG,                      
   IM_TOTA_ORIG, IM_AFEC_CNTB, IM_BASE_NGRA, IM_BASE_SDCF, IM_INAF_CNTB, IM_BASE_RXHH,                      
   IM_IIGV_CNTB, IM_IIGV_NGRA, IM_IIGV_SDCF, IM_RENT_CNTB, IM_IESS_CNTB, IM_TOTA_CNTB,                      
   IM_FONA_CNTB, IM_IIGV_IISC, ST_RETE_AUXI, ST_RETE_DOCU, ST_RETE_BCON, ST_STAT     ,                      
   CO_AUXI_EMPR, ST_NDEB,      NU_DOCU_REFE, FE_DOCU_REFE, PO_IMPT,FE_0001)--, ST_DETR )                      
   Values(   
   @CSCO_EMPR, @VDFE_DOCU,     @VSCO_SUNA,      @VSTI_DOCU_AUXI, @VSNO_DOCU,      @VSNU_DOCU,      @VSCO_UNID,                      
   @VSCO_OPRC,      @VSNU_ASTO,      @VSCO_PROV,      @VSNO_CORT_PROV, @VSNU_RUCS_PROV, @VSCO_MONE,                      
   @VNFA_CAMB,      @VNIM_INAF_ORIX, @VNIM_AFEC_ORIX, @VNIM_IIGV_ORIX, @VNIM_FONA_ORIX, @VNIM_RENT_ORIX,                       
   @VNIM_TOTA_ORIX, @VNIM_AFEC_CNTX, 0              , @VNIM_BASE_NDOM   , @VNIM_INAF_CNTX, @VNIM_BASE_RXHH,      
   @VNIM_IIGV_CNTX, 0              , @VNIM_RENO_CNTX, @VNIM_RENT_CNTX, @VNIM_IIES_CNTX, @VNIM_TOTA_CNTX,                      
   @VNIM_FONA_CNTX, 0              , @VSST_RETE_AUXI, @VSST_RETE_DOCU, @VSST_BCON_AUXI, @VSST_STAT,                      
   '',  'N',       @VSNU_DOCU_REFE, @VDFE_DOCU_REFE, ROUND(@VNPO_IGV1_0001,2),@VDFE_0001)--, @VSST_DETR )                      
              
   Select @VSTI_CAMB_BASE = NULL                  
   Select @VDFE_ASTO_CNTB = NULL                  
   Select @VSCO_MONE_BASE = Null   Select @VDFE_DOCU = Null                      
   Select @VSTI_DOCU_CNTB = Null   Select @VSNU_ASTO = Null                      
   Select @VSCO_PROV = Null        Select @VSNO_CORT_PROV = Null                      
   Select @VSNU_RUCS_PROV  = Null  Select @VSCO_MONE = Null                      
   Select @VNIM_IIGV_ORIG = 0.00   Select @VNIM_FONA_ORIG = 0.00                   
   Select @VNIM_RENT_ORIG = 0.00   Select @VNIM_TOTA_ORIG = 0.00                      
   Select @VNIM_AFEC_ORIX = 0.00   Select @VNIM_INAF_ORIX = 0.00                      
   Select @VNIM_IIGV_ORIX = 0.00   Select @VNIM_FONA_ORIX = 0.00                      
   Select @VNIM_RENT_ORIX = 0.00   Select @VNIM_TOTA_ORIX = 0.00                      
   Select @VNIM_AFEC_CNTX = 0.00   Select @VNIM_INAF_CNTX = 0.00                      
   Select @VNIM_IIGV_CNTX = 0.00   Select @VNIM_FONA_CNTX = 0.00                         
   Select @VNIM_RENT_CNTX = 0.00   Select @VNIM_TOTA_ORIX = 0.00                      
   Select @VNFA_CAMB = 0.00                      
   Select @VDFE_DOCU_REFE = Null   Select @VSNU_DOCU_REFE = Null                      
   Select @VNIM_IIES_ORIG = 0.00              
   Select @VNIM_IIES_CNTX = 0.00              
   Select @VNIM_RENO_ORIG = 0  
   Select @VNIM_RENO_CONT = 0  
   Select @VNIM_RENO_ORIX = 0  
   Select @VNIM_RENO_CNTX = 0  
   Select @VNIM_GAST_CONT = 0  
   Select @VNIM_GAST_ORIG = 0  
                
   Select @VNIM_TOTA_ORIG_AUXI = 0              
   Select @VNIM_TOTA_CNTB_AUXI = 0                 
   Select @VNID_IIES = 0                 
   Select @VNID_RENT = 0                
   Select @VNID_NDOM = 0                
   Select @VNID_IIGV = 0                
   Select @VNID_COMP = 0                
   Select @VNID_GAST = 0      
   Select @VDFE_0001 = NULL                          
            
/*-LEE DATOS CONTABLES----*/            
   Select @VNIM_TOTA_CONT = 0.00            
   Select @VNIM_IIGV_CONT = 0.00            
   Select @VNIM_AFEC_CONX = 0.00            
   Select @VNIM_INAF_CONX = 0.00            
   Select @VNIM_FONA_CONT = 0.00            
   Select @VNIM_RENT_CONT = 0.00            
   Select @VNIM_IIES_CONT = 0.00            
   Select @VNIM_TOTA_CONT_AUXI = 0.00            
   Select @VNIM_BASE_RXHH = 0.00        
   Select @VNIM_BASE_NDOM = 0.00        
   Select @VSTI_PERS_SUNA = NULL  
  
/*-LEE DATOS CONTABLES----*/            
            
           
 End -- (If @VSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +......)                      
                      
 /*-----  Acumula Movimientos - Provisiones -----*/                      
 Select @VSNU_ASTO_BASE = Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                        
  Substring( Convert(Varchar(2),100 + @CNNU_MESE),2,2) + RTrim(@CSNU_ASTO)                    
                    
        ------------------------------------------------------                    
-- OBTENGO EL CODIGO SUNAT DE LA TABLA DE DOCUMENTOS                    
 select @VSCO_SUNA_0001 = CO_SUNA                    
 FROM TTDOCU_CNTB                    
 WHERE TI_DOCU = @CSTI_DOCU_CNTB    
  
----- VALIDA NUEVOS CAMPOS FE_PAGO (FECHA PAGO ) Y FE_DOCU_VENC (FECHA VENC) DEL DOCUMENTO  
--- VALIDA QUE LA LINEA TENGA DOCUMENTO Y QUE PERTENEZCA AL ID DE REG COMPRAS  
--- PORQUE LA CUENTA DE IGV TAMBIEN LLEVA DOCUMENTO Y ESTA CUENTA NO DEBE TOMARSE EN CUENTA  
--- PARA SACAR LOS DATOS DE FECHA DE PAGO  
If IsNull(Rtrim(Ltrim(@CSTI_DOCU_CNTB)),'') != ''  
And @VSID_COMP = @CSID_CNTA  
Begin   
  
/*  
select 'percy',@ISCO_EMPR,@INNU_CNTB_EMPR,@INNU_ANNO,@INNU_MESE_INIC,@CSCN_CNTB_EMPR,  
@CSTI_AUXI_EMPR,@CSCO_AUXI,@CSTI_DOCU_CNTB,@CSNU_DOCU*/  
     Select @VDFE_PAGO = NULL  
     Select @VDFE_PAGO = Max(FE_PAGO)   
     From TXMVTO_CNTB  
     Where CO_EMPR = @ISCO_EMPR  
     And NU_CNTB_EMPR = @INNU_CNTB_EMPR  
     And NU_ANNO = @INNU_ANNO  
     And NU_MESE = @INNU_MESE_INIC  
     And CO_CNTA_EMPR = @CSCN_CNTB_EMPR  
     And TI_AUXI_EMPR = @CSTI_AUXI_EMPR  
     And CO_AUXI_EMPR = @CSCO_AUXI  
     And TI_DOCU = @CSTI_DOCU_CNTB  
     And NU_DOCU = @CSNU_DOCU  
     And SI_MVTO_CNTB = 'APR'  
     And CO_OPRC_CNTB Not In   
             (Select CO_OPRC_CNTB   
              From TTIDEN_OPER   
              Where CO_EMPR = @ISCO_EMPR   
              And NU_CNTB_EMPR = @INNU_CNTB_EMPR   
              And ID_OPRC = @VSID_COMP )  
  
  
--- CASO SEA LIQU O POLIZA SOLO SE VISUALIZA LA FECHA DE PAGO NO SE VISUALIZA FECHA DE VENCIMIENTO   
If @VSCO_SUNA_0001 = @VSCO_SUNA_LIQU  
Or @VSCO_SUNA_0001 = @VSCO_SUNA_POLI  
Begin   
Select @VDFE_0001 = @VDFE_PAGO  
End  
  
--- CASO SEA SERVICIO DE SUMINISTRO SE COLOCA EL QUE SEA MENOR   
If @VSCO_SUNA_0001 = @VSCO_SUNA_SERV  
Begin   
If @CDFE_DOCU_VENC < @VDFE_PAGO And @CDFE_DOCU_VENC IS NOT NULL And @VDFE_PAGO IS NOT NULL  
Begin  
Select @VDFE_0001 = @CDFE_DOCU_VENC  
End   
  
If @VDFE_PAGO < @CDFE_DOCU_VENC And @CDFE_DOCU_VENC IS NOT NULL And @VDFE_PAGO IS NOT NULL  
Begin  
Select @VDFE_0001 = @VDFE_PAGO  
End   
  
If @VDFE_PAGO = @CDFE_DOCU_VENC And @CDFE_DOCU_VENC IS NOT NULL And @VDFE_PAGO IS NOT NULL-- ??  
Begin  
Select @VDFE_0001 = @CDFE_DOCU_VENC  
End   
  
If @CDFE_DOCU_VENC IS NULL And @VDFE_PAGO IS NOT NULL  
Begin   
Select @VDFE_0001 = @VDFE_PAGO  
End   
  
If @VDFE_PAGO IS NULL And @CDFE_DOCU_VENC IS NOT NULL  
Begin   
Select @VDFE_0001 = @CDFE_DOCU_VENC  
End   
  
  
End /*FIN If @VSCO_SUNA_0001 = @VSCO_SUNA_SERV*/  
  
End /*FIN If IsNull(Rtrim(Ltrim(@CSTI_DOCU_CNTB)),'') != ''*/  
----- FIN VALIDA NUEVOS CAMPOS FE_PAGO (FECHA PAGO ) Y FE_DOCU_VENC (FECHA VENC) DEL DOCUMENTO  
  
                  
 If @CSTI_DOCU_CNTB is not null                  
-- SI EL CO_SUNA DE LA TMPARA_CONT = CO_SUNA DE LA TTDOCU_CNTB                    
 IF  @VSCO_SUNA_NOCR = @VSCO_SUNA_0001                    
-- SE OBTIENE EL TIPO DOCUMENTO DE REFERENCIA, EL NUMERO Y LA FECHA DE LA FACTURA ORIGEN                    
  Begin                    
    SELECT @VSTI_DOCU = TI_DOCU_REFE,                    
     @VSNU_DOCU_0001 = NU_DOCU_REFE,                    
    @VDFE_DOCU_0001 = FE_DOCU_REFE                    
    FROM TXMVTO_CNTB                    
    WHERE CO_EMPR = @ISCO_EMPR                    
    AND NU_CNTB_EMPR = @INNU_CNTB_EMPR                    
    AND CO_UNID_CNTB = @CSCO_UNID                    
    AND NU_ANNO = @INNU_ANNO                    
    AND NU_MESE = @INNU_MESE_FINA    
    AND CO_OPRC_CNTB = @CSCO_OPRC                    
    AND NU_ASTO = @CSNU_ASTO                    
    AND CO_CNTA_EMPR = @CSCN_CNTB_EMPR                    
    AND SI_MVTO_CNTB = 'APR'--'I'                    
                     
    --SI EL MES DEL DOCUMENTO ES IGUAL AL MES DEL REPORTE                    
    IF Year(@VDFE_DOCU_0001) + MONTH(@VDFE_DOCU_0001) = @INNU_ANNO + @INNU_MESE_FINA                    
      Begin                    
        SELECT @VNPO_IGV1 = @VNPO_IGV1_ANNO                    
        SELECT @VNPO_IGV2 = @VNPO_IGV2_ANNO                    
      End                    
                    
    --SI EL MES DEL DOCUMENTO ES DIFERENTE AL MES DEL REPORTE                    
    If Year(@VDFE_DOCU_0001) + Month(@VDFE_DOCU_0001) != @INNU_ANNO + @INNU_MESE_FINA                    
      Select @VNPO_IGV1 = PO_IMPT_VEN1,             
             @VNPO_IGV2 = PO_IMPT_VEN2                    
      From TTPORC_IMPT                    
      Where CO_EMPR = @ISCO_EMPR                    
      And   NU_ANNO = Year(@VDFE_DOCU_0001)                    
      And   NU_MESE = Month(@VDFE_DOCU_0001)                    
  End                    
 Else   -- IF  @VSCO_SUNA_NOCR <> @VSCO_SUNA_0001                    
  Begin                    
   IF Year(@CDFE_DOCU) + Month(@CDFE_DOCU) = @INNU_ANNO + @INNU_MESE_FINA         
    Begin                    
        SELECT @VNPO_IGV1 = @VNPO_IGV1_ANNO                    
        SELECT @VNPO_IGV2 = @VNPO_IGV2_ANNO                    
    End                    
                    
  --SI EL MES DEL DOCUMENTO ES DIFERENTE AL MES DEL REPORTE                    
  If Year(@CDFE_DOCU) + Month(@CDFE_DOCU) != @INNU_ANNO + @INNU_MESE_FINA                    
    Select @VNPO_IGV1 = PO_IMPT_VEN1,                    
           @VNPO_IGV2 = PO_IMPT_VEN2                    
    From TTPORC_IMPT                    
    Where CO_EMPR = @ISCO_EMPR                    
    And   NU_ANNO = Year(@CDFE_DOCU)                    
    And   NU_MESE = Month(@CDFE_DOCU)                    
 End --END DEL ELSE                    
 -- FIN DEL IF  @VSCO_SUNA_NOCR = @VSCO_SUNA_0001                    
------------------------------------------------------                    
  
  
                      
 -- Cuentas del Registro de Compras --------------                      
 If @CSID_CNTA = '001'        
 Begin                    
  
  
-- VALIDA SI CODIGO SUNAT ES POLIZA DE IMPORTACION   
--- EXTRAE EL CODIGO SUNAT DEL DOCUMENTO DE LA 42x  
Select @VSCO_SUNA_VARI = ''  
  
Select @VSCO_SUNA_VARI = IsNull(CO_SUNA,'')  
From TTDOCU_CNTB  
Where TI_DOCU = @CSTI_DOCU_CNTB  
  
Select @VSCO_EMPR_0001 = ''  
Select @VSCO_EMPR_0001 = IsNull(RTrim(CO_EMPR),'')  
From TTCOSU_POLI  
Where CO_SUNA = @VSCO_SUNA_VARI   
  
If @VSCO_EMPR_0001 != ''  
 Begin   
   Select @VNID_GAST = 1                
 End   
  
  
  Select @VNID_COMP = 1                
  If @VSCO_MONE_BASE IS Null                      
  Begin                
   /*-- OBTENGO ESTATUS DE RETENCION DEL AUXILIAR (PROVEEDOR) --*/                      
   Select @VSCO_PROV = CO_AUXI_EMPR,                      
          @VSNO_CORT_PROV = NO_AUXI,                        
          @VSNU_RUCS_PROV = NU_RUCS,                      
          @VSST_RETE_AUXI = ST_RETE,                      
          @VSST_BCON_AUXI = ST_BCON,                      
          @VSST_DETR      = ST_DETR,   
          @VSTI_PERS_SUNA = IsNull(TI_PERS_SUNA,'')                      
   From TMAUXI_EMPR                      
   Where CO_EMPR = @ISCO_EMPR   
   And TI_AUXI_EMPR = @CSTI_AUXI_EMPR   
   And CO_AUXI_EMPR = @CSCO_AUXI                      
   If @@rowcount = 0                      
   Begin                      
    Select @VDFE_DOCU = Null                      
    Select @VSTI_DOCU_CNTB = Null                      
    Select @VSNU_DOCU = Null                      
    Select @VSCO_PROV = Null                       
    Select @VSNO_CORT_PROV = Null                      
    Select @VSNU_RUCS_PROV = Null                     
    Select @VDFE_DOCU_REFE = Null                         
    Select @VSNU_DOCU_REFE = Null                      
  End                      
   Else                       
   Begin                      
    Select @VDFE_DOCU      = @CDFE_DOCU                      
    Select @VSTI_DOCU_CNTB = @CSTI_DOCU_CNTB                      
    Select @VSNU_DOCU      = @CSNU_DOCU                
    Select @VDFE_DOCU_REFE = @CDFE_DOCU_REFE                      
   Select @VSNU_DOCU_REFE = @CSNU_DOCU_REFE                    
   End                      
                      
   -- Si el Auxiliar est? sujeto a detracci?n, entonces NO retiene IGV,                       
   If @VSST_DETR = 'S'               
      Select @VSST_RETE_AUXI = 'S'                      
                      
   Select @VSCO_UNID = @CSCO_UNID                       
   Select @VSCO_OPRC = @CSCO_OPRC                      
   Select @VSNU_ASTO = @CSNU_ASTO                      
   Select @VSCO_MONE = @CSCO_MONE                      
   Select @VNFA_CAMB = Round(@CNFA_CAMB,3)                      
   Select @VSCO_MONE_BASE = @CSCO_MONE                      
   Select @VSTI_CAMB_BASE = @CSTI_CAMB              
   Select @VDFE_ASTO_CNTB = @CDFE_ASTO_CNTB              
        
   If @VSTI_CAMB_BASE = 'PAC'        
 Begin         
    Select @VSTI_CAMB_BASE = @CSST_CNTA_CAMB   
        End          
        
                      
  End --( If @VSCO_MONE_BASE IS Null )                      
              
  If @VSCO_MONE_BASE IS NOT Null                      
  Begin                      
   If @VSCO_MONE_BASE != @CSCO_MONE                      
   Begin                      
      -- CASO EUROS               
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
   End                      
   If @CSTI_OPER_CNTB = 'ABO'                      
   Begin                      
    Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG + @CNIM_MVTO_ORIG,2)                      
    Select @VNIM_TOTA_ORIG_AUXI = Round( @VNIM_TOTA_ORIG_AUXI + @CNIM_MVTO_ORIG,2)              
    --*** select importe contabilidad            
    Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT + @CNIM_MVTO_CNTB,2)                            
    Select @VNIM_TOTA_CONT_AUXI = Round(@VNIM_TOTA_CONT_AUXI + @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
   End                      
  Else If @CSTI_OPER_CNTB = 'CAR'                      
              
   Begin                      
    Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG - @CNIM_MVTO_ORIG,2)                      
    Select @VNIM_TOTA_ORIG_AUXI = Round( @VNIM_TOTA_ORIG_AUXI - @CNIM_MVTO_ORIG,2)              
    --*** select importe contabilidad            
    Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT - @CNIM_MVTO_CNTB,2)                            
    Select @VNIM_TOTA_CONT_AUXI = Round(@VNIM_TOTA_CONT_AUXI - @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
   End                      
  End                      
                      
 End -- ( If @CSID_CNTA = '001' )                      
              
  /*-----  Acumula Movimientos - FONAVI   -----*/                       
 If @CSID_CNTA = '008'                      
 Begin                      
  If @VSCO_MONE_BASE IS NOT Null                      
  Begin                      
   Select @VNID_IIES = 1                
   If @VSCO_MONE_BASE != @CSCO_MONE                      
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
   If @CSTI_OPER_CNTB = 'CAR'           
    Begin             
    Select @VNIM_FONA_ORIG = Round(@VNIM_FONA_ORIG + @CNIM_MVTO_ORIG,2)                      
    --*** select importe contabilidad            
    Select @VNIM_FONA_CONT = Round(@VNIM_FONA_CONT + @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
    End             
   Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin             
    Select @VNIM_FONA_ORIG = Round(@VNIM_FONA_ORIG - @CNIM_MVTO_ORIG,2)                      
    --*** select importe contabilidad            
    Select @VNIM_FONA_CONT = Round(@VNIM_FONA_CONT - @CNIM_MVTO_CNTB,2)                   
    --*** select importe contabilidad            
    End              
  End                      
 End --( If @CSID_CNTA = '008' )              
                      
 /*-----  Acumula Movimientos - IGV  -----*/                      
 If @CSID_CNTA = '009'                      
 Begin                  
  If @VSCO_MONE_BASE IS NOT Null                   
  Begin                      
  Select @VNID_IIGV = 1                    
   If @VSCO_MONE_BASE != @CSCO_MONE                      
   Begin                      
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
   End                      
   If @CSTI_OPER_CNTB = 'CAR'          
   Begin                      
    Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG + @CNIM_MVTO_ORIG,2)   
    --*** select importe contabilidad            
    Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT + @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
   End                      
   Else If @CSTI_OPER_CNTB = 'ABO'                      
   Begin                      
    Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG - @CNIM_MVTO_ORIG,2)                      
    --*** select importe contabilidad            
    Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT - @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
   End                      
  End                      
 End --( If @CSID_CNTA = '009' )                                    
                       
 /*-----   Acumula Movimientos - 4ta. CAT.   -----*/                      
/*  If @CSID_CNTA = '010'                      
  Begin                      
   If @VSCO_MONE_BASE IS NOT Null       
   Select @VNID_RENT = 1                
   Begin                      
    If @VSCO_MONE_BASE != @CSCO_MONE               
    Begin                      
     Select @CNIM_MVTO_ORIG = Round(@CNIM_MVTO_ORIG / @VNFA_CAMB,2)                      
    End                 
    If @CSTI_OPER_CNTB = 'CAR'                      
    Begin                      
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG + @CNIM_MVTO_ORIG,2)                      
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG - @CNIM_MVTO_ORIG,2)                      
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)                      
  End */-- ( If @CSID_CNTA = '010' )                  
              
   /*-----   Acumula Movimientos -  IES    -----*/                
    If @CSID_CNTA = '014'                 
      Begin                  
       If @VSCO_MONE_BASE IS NOT NULL                
        Begin                 
          Select @VNID_IIES = 1                  
          If @VSCO_MONE_BASE != @CSCO_MONE                
             Begin                
             Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
             @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
             End                
          If @CSTI_OPER_CNTB = 'CAR'                
             Begin                  
             Select @VNIM_IIES_ORIG = Round( @VNIM_IIES_ORIG + @CNIM_MVTO_ORIG,2)                
      --*** select importe contabilidad            
            Select @VNIM_IIES_CONT = Round(@VNIM_IIES_CONT + @CNIM_MVTO_CNTB,2)                            
       --*** select importe contabilidad            
             End                
          If @CSTI_OPER_CNTB = 'ABO'                 
             Begin               
             Select @VNIM_IIES_ORIG = Round( @VNIM_IIES_ORIG - @CNIM_MVTO_ORIG,2)                
      --*** select importe contabilidad            
             Select @VNIM_IIES_CONT = Round(@VNIM_IIES_CONT - @CNIM_MVTO_CNTB,2)                    
       --*** select importe contabilidad            
             End                
        End                
      End                
                
 /*-----   Acumula Movimientos - 4ta. CAT.   -----*/                      
  If @CSID_CNTA = '018'                      
  Begin                      
   If @VSCO_MONE_BASE IS NOT Null                      
   Begin                      
   Select @VNID_RENT = 1                
    If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
    If @CSTI_OPER_CNTB = 'CAR'               
    Begin               
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG + @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_RENT_CONT = Round(@VNIM_RENT_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG - @CNIM_MVTO_ORIG,2)                      
  --*** select importe contabilidad            
     Select @VNIM_RENT_CONT = Round(@VNIM_RENT_CONT - @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)                      
  End -- ( If @CSID_CNTA = '010' )                  
  
 /*-----   Acumula Movimientos - impuesto renta No domiciliados    -----*/                
  If @CSID_CNTA = '033'                      
  Begin                      
   If @VSCO_MONE_BASE IS NOT Null                      
   Begin                      
   Select @VNID_NDOM = 1                
    If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
    If @CSTI_OPER_CNTB = 'CAR'                      
    Begin                      
     Select @VNIM_RENO_ORIG = Round(@VNIM_RENO_ORIG + @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_RENO_CONT = Round(@VNIM_RENO_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_RENO_ORIG = Round(@VNIM_RENO_ORIG - @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_RENO_CONT = Round(@VNIM_RENO_CONT - @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)                      
  End -- ( If @CSID_CNTA = '010' )                  
  
 /*-----   Acumula Movimientos - cuenta gastos despacho no gravados  -----*/                      
  If @CSID_CNTA = '034'                      
  Begin           
   If @VSCO_MONE_BASE IS NOT Null                      
   Begin                      
--   Select @VNID_GAST = 1                
    If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
  Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
--SELECT 'PERCY', @CSCN_CNTB_EMPR,@CNIM_MVTO_CNTB  
    If @CSTI_OPER_CNTB = 'CAR'                      
    Begin                      
     Select @VNIM_GAST_ORIG = Round(@VNIM_GAST_ORIG + @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_GAST_CONT = Round(@VNIM_GAST_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_GAST_ORIG = Round(@VNIM_GAST_ORIG - @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_GAST_CONT = Round(@VNIM_GAST_CONT - @CNIM_MVTO_CNTB,2)        
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)          
  End -- ( If @CSID_CNTA = '010' )                  
                
                          
Fetch CU_TXMVTO_CNTB_Q20_1 into                       
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                       
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                       
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                      
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2,      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,                  
    @CSCO_EMPR, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,@CDFE_DOCU_VENC                                    
                      
 End                      
 Close CU_TXMVTO_CNTB_Q20_1                      
 Deallocate CU_TXMVTO_CNTB_Q20_1                      
                      
If @ISTI_INFO = 'ORI'                      
Begin    
   If @ISTI_REPO = 'ANA'            
   Begin                      
     if @ISTI_ORDE_REPO = 'VOU'          
       Select @ISCO_EMPR, convert(varchar(10),FE_DOCU,103), TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU, NU_DOCU,                       
       CO_UNID_CNTB, CO_OPRC, NU_ASTO, CO_PROV, NO_CORT_PROV, NU_RUCS_PROV, CO_MONE, IM_INAF_ORIG,              
       IM_AFEC_ORIG, IM_IIGV_ORIG, IM_TOTA_ORIG, IM_INAF_CNTB, IM_AFEC_CNTB, IM_IIGV_CNTB,                       
       IM_TOTA_CNTB, FA_CAMB, ST_RETE_AUXI, ST_RETE_DOCU, @VNIM_MAXI_NRET,ST_RETE_BCON,ST_STAT,ST_NDEB,ROUND(PO_IMPT,2),FE_0001--, ST_DETR                      
       From #TWMVTO_CNTB_Q20_1                      
       Order By TI_DOCU_CNTB, NU_ASTO, FE_DOCU, NU_DOCU                      
     Else if @ISTI_ORDE_REPO = 'FEC'                      
    Select @ISCO_EMPR, convert(varchar(10),FE_DOCU,103), TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU, NU_DOCU,                       
       CO_UNID_CNTB, CO_OPRC, NU_ASTO, CO_PROV, NO_CORT_PROV, NU_RUCS_PROV, CO_MONE, IM_INAF_ORIG,                       
       IM_AFEC_ORIG, IM_IIGV_ORIG, IM_TOTA_ORIG, IM_INAF_CNTB, IM_AFEC_CNTB, IM_IIGV_CNTB,                       
       IM_TOTA_CNTB, FA_CAMB, ST_RETE_AUXI, ST_RETE_DOCU, @VNIM_MAXI_NRET,ST_RETE_BCON,ST_STAT,ST_NDEB, ROUND(PO_IMPT,2),FE_0001--, ST_DETR                      
       From #TWMVTO_CNTB_Q20_1                      
       Order By TI_DOCU_CNTB, FE_DOCU, NU_ASTO, NU_DOCU                      
   End                      
   Else if @ISTI_REPO = 'RES'                      
   Begin        
     Select Max(TI_DOCU_SUNA), TI_DOCU_CNTB, Max(NO_DOCU), sum(IM_INAF_ORIG),                      
     Isnull(sum(Isnull(IM_AFEC_ORIG, 0)), 0), Isnull(sum(Isnull(IM_IIGV_ORIG, 0)), 0),              
     Isnull(sum(Isnull(IM_TOTA_ORIG, 0)), 0), Isnull(sum(Isnull(IM_INAF_CNTB, 0)), 0),                       
     Isnull(sum(Isnull(IM_AFEC_CNTB, 0)), 0), Isnull(sum(Isnull(IM_IIGV_CNTB, 0)), 0),                      
     Isnull(sum(Isnull(IM_TOTA_CNTB, 0)), 0) --, ST_DETR                      
     From #TWMVTO_CNTB_Q20_1                      
     Group by TI_DOCU_CNTB                      
     Order By TI_DOCU_CNTB                      
   End                      
End                      
Else if @ISTI_INFO = 'OFI'                      
Begin                      
   if @ISTI_ORDE_REPO = 'VOU'                      
     Select @ISCO_EMPR, convert(varchar(10),FE_DOCU,103),    TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU,      NU_DOCU,                      
     CO_UNID_CNTB, CO_OPRC,      NU_ASTO,        CO_PROV,      NO_CORT_PROV, NU_RUCS_PROV, CO_MONE,                       
     IM_AFEC_CNTB, IM_BASE_NGRA, IM_BASE_SDCF,   IM_INAF_CNTB, IM_BASE_RXHH, IM_IIGV_CNTB,                       
     IM_IIGV_NGRA, IM_IIGV_SDCF, IM_RENT_CNTB,   IM_IESS_CNTB, IM_TOTA_CNTB, FA_CAMB,                            
     ST_RETE_AUXI, ST_RETE_DOCU, @VNIM_MAXI_NRET,ST_RETE_BCON, ST_STAT,ST_NDEB,                      
     NU_DOCU_REFE, FE_DOCU_REFE, ROUND(PO_IMPT,2),FE_0001--, ST_DETR      
     From #TWMVTO_CNTB_Q20_1           
     Order By TI_DOCU_CNTB, NU_ASTO, FE_DOCU, TI_DOCU_SUNA, NU_DOCU                      
   Else if @ISTI_ORDE_REPO = 'FEC'                      
     Select @ISCO_EMPR, convert(varchar(10),FE_DOCU,103),    TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU, NU_DOCU,                      
     CO_UNID_CNTB, CO_OPRC,      NU_ASTO,        CO_PROV,      NO_CORT_PROV, NU_RUCS_PROV, CO_MONE,                       
     IM_AFEC_CNTB, IM_BASE_NGRA, IM_BASE_SDCF,   IM_INAF_CNTB, IM_BASE_RXHH, IM_IIGV_CNTB,                       
     IM_IIGV_NGRA, IM_IIGV_SDCF, IM_RENT_CNTB,   IM_IESS_CNTB, IM_TOTA_CNTB, FA_CAMB,                            
     ST_RETE_AUXI, ST_RETE_DOCU, @VNIM_MAXI_NRET,ST_RETE_BCON, ST_STAT,ST_NDEB,                      
     NU_DOCU_REFE, FE_DOCU_REFE, ROUND(PO_IMPT,2),FE_0001 --, ST_DETR                     
     From #TWMVTO_CNTB_Q20_1                      
     Order By TI_DOCU_CNTB, FE_DOCU, NU_ASTO, TI_DOCU_SUNA, NU_DOCU               
End                   
                      
/*----------------------------------------- Fin ------------------------------------------------------*/  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  








GO
